class Gui {
public :
	Gui();
	~Gui();
	void render();
	void message(const TCODColor &col, const char *text, ...);

    void renderActor(int x, int y, char ch, const TCODColor &color = TCODColor::black);
    void renderInventoryFrame(Container *);

protected :
    TCODConsole *conMsg;
    TCODConsole *conStat;
    TCODConsole *conInv;
	struct Message {
		char *text;
		TCODColor col;
		Message(const char *text, const TCODColor &col);
		~Message();
	};
	TCODList<Message *> log;

	void renderBar(int x, int y, int width, const char *name,
		float value, float maxValue, const TCODColor &barColor,
        const TCODColor &backColor, bool);
	void renderMouseLook();

    void renderMsg();
    void renderStat();
};
